/*
 Escribe un programa que lee una cadena de caracteres de teclado e indique
 si es o no palíndroma (se lee igual de izquierda a derecha que de derecha a
 izquierda, sin tener en cuenta los espacios en blanco y las mayúsculas). Por 
 ejemplo: "dábale arroz a la zorra el abad".
 */
package Tema1.Ejercicio14;

import Tema1.Ejercicio13.Ejercicio13;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author larabenito
 */
public class Ejercicio14 {

    public static void main(String[] args) {
        try {
            String string_usuario;
            System.out.println("Introduce una frase: ");
            BufferedReader consola = new BufferedReader(new InputStreamReader(System.in));
            string_usuario = consola.readLine();
            string_usuario = string_usuario.replaceAll(" ", "");//quito espacios en blanco
            String resultado = removerAcentos(string_usuario.toLowerCase());//paso todas las letras a minúsculas y quito conAcentos
            boolean esPalindroma = true;
            //int esPar = resultado.length() % 2;
            for (int i = 0; i < resultado.length(); i++) {
                int posicion = (resultado.length() - i) - 1;//busco la posición contraria o del otro extremo
                if (!(resultado.charAt(i) == resultado.charAt(posicion))) {//si no son letras iguales, se acabó 
                    esPalindroma = false;
                    break;
                }
            }
            System.out.println("Es palíndroma: " + esPalindroma);
        } catch (IOException ex) {
            Logger.getLogger(Ejercicio13.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    private static String removerAcentos(String cadenaCaracteres) {
        String conAcentos = "áéíóú";
        String sinAcentos = "aeiou";
        for (int i = 0; i < conAcentos.length(); i++) {
            cadenaCaracteres = cadenaCaracteres.replace(conAcentos.charAt(i), sinAcentos.charAt(i));
        }
        return cadenaCaracteres;
    }

}
